package com.edu.d9_Timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 目标：Timer定时器的使用和了解。
 */
public class TimerDemo {
    public static void main(String[] args) {
        // 1、创建Timer定时器
        Timer timer = new Timer();  // 定时器本身就是一个单线程。
        // 2、调用方法，处理定时任务
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行AAA~~~" + new Date());
//                try {
//                    Thread.sleep(5000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
            }
        }, 0, 2000);

        /**
         * 通俗的讲就是，在timer这个定时器下面，任务TimerTask()，在0秒这个时间点开始执行，往后每2秒执行一次
         * schedule(参数一，参数二。参数三)
         * 参数一：定时器下面·执行的任务，也就是TimerTask()
         * 参数二:delay延迟执行的时间，这里是0，所以不延迟，当即开始执行
         * 参数三：指的是，每间隔多少毫秒执行一次任务，这里是2000，也就是说每隔2秒执行一次任务。
         */
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行BB~~~"+ new Date());
                System.out.println(10/0);
            }
        }, 0, 2000);

        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "执行CCC~~~"+ new Date());
            }
        }, 0, 3000);
    }
}
